<template>
  <section class="main">
    <input v-model="all" id="toggle-all" class="toggle-all" type="checkbox" />
    <label for="toggle-all">全部标记为已完成</label>
    <ul class="todo-list">
      <!-- These are here just to show the structure of the list items -->
      <!-- List items should get the class `editing` when editing and `completed` when marked as completed -->
      <!-- isDone=true的任务表示已完成，已完成的数据，加入 completed 类名 -->
      <!-- :class="{ 类名1: true, 类名2: false, 类名3: true }" -->
      <li :class="{ completed: item.isDone }" v-for="item in list" :key="item.id">
        <div class="view">
          <!-- isDone=true的任务表示已完成，则勾选 -->
          <input class="toggle" type="checkbox" :checked="item.isDone" @change="$emit('state', item.id)" />
          <label>{{ item.name }}</label>
          <button class="destroy" @click="$emit('del', item.id)"></button>
        </div>
        <input class="edit" value="Create a TodoMVC template" />
      </li>
    </ul>
  </section>
</template>

<script>
export default {
  props: {
    list: Array
  },
  // 计算属性，做全选
  computed: {
    all: {
      get () {
        return this.list.every(item => item.isDone === true)
      },
      set (val) {
        // console.log(val) // true | false
        this.$emit('changeAll', val)
      }
    }
  }
}
</script>

<style>

</style>